/**
 * @param {number} num
 * @return {string}
 */
var intToRoman = function (num) {
  // let map = new Map()
  // map.set('1', 'I')
  // map.set('5', 'V')
  // map.set('10', 'X')
  // map.set('50', 'L')
  // map.set('100', 'C')
  // map.set('500', 'D')
  // map.set('1000', 'M')
  let res = ''
  while (num >= 1) {
    if (num < 5) {
      if (num < 4) {
        res += 'I'
        num--
      } else {
        res += 'IV'
        num -= 4
      }
    } else if (num < 10) {
      if (num < 9) {
        res += 'V'
        num -= 5
      } else {
        res += 'IX'
        num -= 9
      }
    }
    else if (num < 50) {
      if (num < 40) {
        res += 'X'
        num -= 10
      } else {
        res += 'XL'
        num -= 40
      }
    }
    else if (num < 100) {
      if (num < 90) {
        res += 'L'
        num -= 50
      } else {
        res += 'XC'
        num -= 90
      }
    }
    else if (num < 500) {
      if (num < 400) {
        res += 'C'
        num -= 100
      } else {
        res += 'CD'
        num -= 400
      }
    }
    else if (num < 1000) {
      if (num < 900) {
        res += 'D'
        num -= 500
      } else {
        res += 'CM'
        num -= 900
      }
    }else {
      num-=100
      res+=M
    }
  }
  return res
}

console.log(intToRoman(58))
